﻿/*
* 这个测试文件是给队友看的
* 最后要删掉
*/

#include "AudioAsset.h"

//// 获取音频管理器
//AudioManager& audioManager = AudioManager::getInstance();
//
//void test1() {
//    std::string filePath = "src/AudioPlayer/mus/bgm2.mp3"; // 替换为实际音频文件路径
//    std::string id = "audio1"; //自定义id名字, 不带空格字符, 全局唯一
//
//    //加载音频, 默认循环播放
//    audioManager.load(id, filePath);
//    //输出音频时长
//    std::cout << "Audio loaded. Duration: " << audioManager.getDuration(id) << " seconds." << std::endl;
//
//    // 淡入播放5秒
//    std::cout << "Playing with fade-in..." << std::endl;
//    audioManager.fadeIn(id,5);
//
//    //延迟5秒
//    std::this_thread::sleep_for(std::chrono::seconds(5));
//
//    //淡出播放5秒
//    std::cout << "Playing with fade-out..." << std::endl;
//    audioManager.fadeOut(id,5);
//    
//    audioManager.unload("audio1");
//    std::cout << "Demo complete." << std::endl;
//}
//
//void test2() {
//    //循环播放bgm
//    std::string filePath = "src/AudioPlayer/mus/bgm.mp3"; // 替换为实际音频文件路径
//    
//    audioManager.load("bgm", filePath);
//    audioManager.play("bgm");
//    std::this_thread::sleep_for(std::chrono::seconds(3));
//    // 调整音量
//    audioManager.setVolume("bgm", 50.0f);
//    std::cout << "Volume set to: " << audioManager.getVolume("bgm") << std::endl;
//    std::this_thread::sleep_for(std::chrono::seconds(3));
//
//    // 暂停
//    audioManager.pause("bgm");
//    std::cout << "Paused. Current position: " << audioManager.getPlayingOffset("bgm") << " seconds." << std::endl;
//    std::this_thread::sleep_for(std::chrono::seconds(3));
//
//    // 继续播放
//    audioManager.play("bgm");
//    std::cout << "Resumed playing..." << std::endl;
//    
//
//    system("pause");
//    audioManager.unload("bgm");
//    
//}
//
//void test3() {
//    //播放碰撞音
//    std::string filePath = "src/AudioPlayer/mus/hit.wav", id="hit";
//
//    audioManager.load(id,filePath);
//    audioManager.setLoop(id, false);// 关闭循环播放
//    std::cout << "The first hit.\n";
//    audioManager.play(id);
//    std::this_thread::sleep_for(std::chrono::seconds(2));
//    //不开启循环播放的情况下，音频播放完毕后会自动回到开始处
//    //此时再次调用play方法即可再次播放
//    std::cout << "The second hit.\n";
//    audioManager.play(id);
//
//    system("pause");
//    //这里可以不unload, 加载过的音频资源会全局保留
//    //但是记得最后要releaseAll释放所有资源
//}
//
//void test4() {
//    //异常测试
//    std::string filePath = "src/AudioPlayer/mus/bgm.mp3"; 
//    std::string id1 = "bgm", id2= "bgm";
//    
//    audioManager.load(id1,filePath);
//    audioManager.load(id2,filePath);
//    audioManager.play(id1);
//    audioManager.play(id2);
//
//    system("pause");
//    audioManager.unload("bgm");
//}

void test5() {
    // 对接到AudioAsset
    std::string filePath = "src/AudioPlayer/mus/bgm2.mp3";
    std::string id = "audio1";
    AudioAsset audio(id,filePath);
    audio.Load();
    audio.play();

    system("pause");



}




int main() {
    /*test1();
    test2();
    test3();*/
    //test4();
    test5();


    //audioManager.releaseAll();//释放所有资源
    return 0;
}